Razor Pages 教程
1. 简介
Razor Pages 是 ASP.NET Core 中的一种网页开发模型,它简化了构建基于页面的应用程序的过程。Razor Pages 使用 Razor 语法来混合 C# 代码和 HTML,使得页面逻辑和视图可以紧密结合。
1.1 为什么选择 Razor Pages?
- 简化开发:Razor Pages 使得页面逻辑和视图的分离更加直观。
- 适合页面驱动应用:特别适合那些以页面为中心的应用,如博客、新闻网站等。
- 易于学习:对于初学者来说,Razor Pages 比 MVC 更容易上手。
2. 环境搭建
在开始之前,确保你已经安装了以下工具:
- Visual Studio:推荐使用最新版本的 Visual Studio。
- .NET SDK:确保你已经安装了最新版本的 .NET SDK。
2.1 创建新的 Razor Pages 项目
- 打开 Visual Studio。
- 选择 "Create a new project"。
- 选择 "ASP.NET Core Web App" 模板。
- 命名你的项目并选择保存位置。
- 在 "Additional information" 窗口中,选择 "Razor Pages" 并确保选择了 .NET Core 版本。
- 点击 "Create"。
3. 项目结构
创建项目后,你会看到以下文件和文件夹结构:
MyRazorApp/
│
├── Pages/
│ ├── Index.cshtml
│ ├── Index.cshtml.cs
│ ├── Privacy.cshtml
│ ├── Privacy.cshtml.cs
│ └── Shared/
│ └── _Layout.cshtml
│
├── wwwroot/
│ ├── css/
│ ├── js/
│ └── lib/
│
├── appsettings.json
├── Program.cs
└── Startup.cs
3.1 关键文件解释
- Pages/:包含所有的 Razor 页面。每个页面通常有两个文件:
.cshtml文件用于视图,.cshtml.cs文件用于页面模型。 - wwwroot/:存放静态资源,如 CSS、JavaScript 和图像。
- appsettings.json:配置文件,用于存储应用程序的设置。
- Program.cs 和 Startup.cs:用于配置应用程序的启动和运行时行为。
4. 创建第一个 Razor Page
4.1 创建页面
- 在
Pages文件夹中,右键点击并选择 "Add" -> "New Item"。 - 选择 "Razor Page" 模板。
- 命名页面为
HelloWorld.cshtml。 - 点击 "Add"。
4.2 编写页面模型
打开 HelloWorld.cshtml.cs 文件,编写以下代码:
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace MyRazorApp.Pages
{
public class HelloWorldModel : PageModel
{
public string Message { get; set; }
public void OnGet()
{
Message = "Hello, World!";
}
}
}
4.3 编写视图
打开 HelloWorld.cshtml 文件,编写以下代码:
@page
@model MyRazorApp.Pages.HelloWorldModel
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>@Model.Message</h1>
</body>
</html>
4.4 运行项目
- 按
F5或点击 "Start" 按钮运行项目。 - 在浏览器中访问
/HelloWorld,你应该会看到 "Hello, World!" 的页面。
5. 基本语法和数据绑定
5.1 Razor 语法
Razor 语法允许你在 HTML 中嵌入 C# 代码。常用的 Razor 语法包括:
@:用于开始 C# 代码块。@():用于内联表达式。@{}:用于多行代码块。
5.2 数据绑定
在 Razor Pages 中,数据绑定是通过页面模型和视图之间的属性来实现的。例如:
public class IndexModel : PageModel
{
public string Title { get; set; } = "Welcome to My Razor App";
}
在视图中,你可以通过 @Model 访问这些属性:
<h1>@Model.Title</h1>
6. 实践练习
6.1 练习:创建一个简单的表单
- 创建一个新的 Razor Page,命名为
Contact.cshtml。 - 在
Contact.cshtml.cs中添加以下代码:
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace MyRazorApp.Pages
{
public class ContactModel : PageModel
{
[BindProperty]
public string Name { get; set; }
[BindProperty]
public string Email { get; set; }
public void OnPost()
{
// 处理表单提交
}
}
}
- 在
Contact.cshtml中添加以下代码:
@page
@model MyRazorApp.Pages.ContactModel
<!DOCTYPE html>
<html>
<head>
<title>Contact Us</title>
</head>
<body>
<form method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name" />
<br />
<label for="email">Email:</label>
<input type="email" id="email" name="email" />
<br />
<button type="submit">Submit</button>
</form>
</body>
</html>
- 运行项目并访问
/Contact,尝试提交表单。
7. 总结
通过本教程,你已经学会了如何创建和运行一个简单的 Razor Pages 应用程序。Razor Pages 提供了一种直观的方式来构建页面驱动的应用程序,适合初学者和有经验的开发者。
7.1 下一步
- 学习如何使用布局和部分视图来重用代码。
- 探索如何使用依赖注入来管理服务。
- 深入了解如何处理表单提交和数据验证。
希望本教程能帮助你更好地理解和使用 Razor Pages!